home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2007 December / PCWDEC07.iso / Software / Shareware / RapidCSS 2007 8.1.0.78 / rapidcss8.exe / {app} / data / xray.js < prev   
Encoding:
Text File  |  2007-02-03  |  2.8 KB  |  104 lines

  1.  
  2. function createHint() {
  3.   var eDiv = document.createElement("DIV");
  4.   eDiv.style.fontFamily = "Tahoma";
  5.   eDiv.style.fontSize = "8pt";
  6.   //eDiv.style.width = 150;
  7.   //eDiv.style.height = 80;
  8.   eDiv.style.display = "inline";
  9.   eDiv.style.textAlign = "left";
  10.   eDiv.style.border = "solid 1px silver";
  11.   eDiv.style.position = "absolute";
  12.   eDiv.style.backgroundColor = "#FFFFBF";
  13.   eDiv.style.left = 10;
  14.   eDiv.style.top = 10;
  15.   eDiv.style.padding = "5px";
  16.   eDiv.style.visibility = "hidden";
  17.   eDiv.style.cursor = "default";
  18.   return eDiv;
  19. }
  20.  
  21. var hintDiv = createHint();
  22. document.body.appendChild(hintDiv);
  23.  
  24. function mouseX(evt) {
  25.   if (evt.pageX)
  26.     return evt.pageX;
  27.   else if (evt.clientX)
  28.     return evt.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
  29.   else
  30.     return null;
  31. }
  32.  
  33. function mouseY(evt) {
  34.   if (evt.pageY)
  35.     return evt.pageY;
  36.   else if (evt.clientY)
  37.     return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
  38.   else
  39.     return null;
  40. }
  41.  
  42. function showHint(s) {
  43.   hintDiv.innerHTML = s;
  44.   hintDiv.style.visibility = "visible";
  45.   hintDiv.style.left = mouseX(event) + 10;
  46.   hintDiv.style.top = mouseY(event) + 10;
  47. }
  48.  
  49. function hideHint() {
  50.   hintDiv.style.visibility = "hidden";
  51. }
  52.  
  53. var showSelectedElements;
  54. var selectedElement;
  55.  
  56. // Enables the xray on selected elements
  57. function enableClicks() {
  58.  docElements = document.getElementsByTagName("*");
  59.  for (var i = 0; i < docElements.length; i++) {
  60.      docElements[i].onclick = onElementClick;
  61.  }
  62. }
  63.  
  64. function onElementClick(evt) {
  65.  
  66. hideSelection();  // hide old selection
  67.  
  68.   if (!evt) var evt = window.event;
  69.   if (evt.target) var elem = evt.target; else if (evt.srcElement) var elem = evt.srcElement;
  70.   while (elem.nodeName == '#text') elem = elem.parentNode;
  71.  
  72.   selectedElement = elem;
  73.   if (showSelectedElements == true) {
  74.  
  75.  /*   if (elem.currentStyle) {
  76.       cstr = elem.currentStyle.cssText;
  77.     } else {
  78.       var astyle = window.getComputedStyle(elem, null);
  79.       cstr = astyle.cssText;
  80.     }   */
  81.  
  82.     shint = '<b>' + elem.tagName + '</b><br>';
  83.     if (elem.className != '') shint = shint + 'class: ' + elem.className + '<br>';
  84.     if (elem.id != '') shint = shint + 'id: ' + elem.id + '<br>';
  85.     if (elem.style.cssText != '') shint = shint + 'style: ' + elem.style.cssText.toLowerCase() + '<br>';
  86.  
  87.     showHint(shint);
  88.  
  89.     elem.style.border = 'solid 1px red';
  90.  
  91.   }
  92.  
  93. }
  94.  
  95. function hideSelection() {
  96.   if (selectedElement != null) {
  97.     selectedElement.style.borderColor = '';
  98.     selectedElement.style.borderWidth = '';
  99.     selectedElement.style.borderStyle = '';
  100.   }
  101. }
  102.  
  103. enableClicks();
  104. showSelectedElements=true;